package com.abc.service;

/**
 * Feign客户端接口定义：
 *  1.该接口名可以随意
 *  2.接口方法名可以随意
 *  3.方法参数及返回值必须要与提供者端相应方法相同
 * @FeignClient 注解作用：声明一个FeignClient客户端，参数为当前消费者要调用的提供者的
微服务名称
 * 在当前接口中采用SpringMVC注解+
 */

import com.abc.bean.Depart;
import com.abc.config.FeignConfiguration;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.*;

import java.util.List;

@FeignClient(value = "msc-provider-depart",
       // fallback = DepartServiceFallBack.class,
        configuration = FeignConfiguration.class)
public interface DepartService {

    @PostMapping("/provider/depart/save")
    boolean saveDepart(@RequestBody Depart depart);
    @DeleteMapping("/provider/depart/del/{id}")
    boolean removeDepartById(@PathVariable("id") int id);
    @PutMapping("/provider/depart/update")
    boolean modifyDepart(@RequestBody Depart depart);
    @GetMapping("/provider/depart/get/{id}")
    Depart getDepartById(@PathVariable("id") int id);
    @GetMapping("/provider/depart/list")
    List<Depart> listAllDeparts();
}
